// 创建一个index文件,统一管理ajax请求,以便后期维护
import ajax from "./ajax"
import MockAjax from "./MockAjax"

// 写接口的流程就是先写ajax请求, 然后根据数据情况, 将请求函数使用vuex管理还是直接在当前组件中使用, 然后在需要发请求的地方注册事件, 发送请求, 将数据存入对应的位置, 然后拿到数据渲染页面

// 获取三级导航栏数据请求
export const reqBaseCategoryList = () => ajax.get("/product/getBaseCategoryList")
//  请求search页面数据
export const reqSearchList = query => ajax.post("/list", query)
// 请求banner轮播图数据
export const reqbannerList = () => MockAjax.get("/banner")
// 请求floor楼层数据
export const reqfloorsList = () => MockAjax.get("/floors")
// 请求详情页
export const reqDetailList = params => ajax.get(`/item/${params}`)
// 请求购物车
export const reqAddCar = (skuId, skuNum) => ajax.post(`/cart/addToCart/${skuId}/${skuNum}`)
// 获取购物车中的数据
export const reqGetShopCarList = () => ajax.get(`/cart/cartList`)
// 修改购物车中的选中状态
export const reqChangeStatusList = (skuID, isChecked) => ajax.get(`/cart/checkCart/${skuID}/${isChecked}`)
// 批量选中购物车
export const reqChangeAllCartState = (isChecked, skuIdList) =>
  // 使用原生ajax发送请求
  ajax({
    url: `/cart/batchCheckCart/${isChecked}`,
    method: "post",
    data: skuIdList,
  })
// 删除一条购物车数据
export const reqOneshopData = skuId => ajax.delete(`/cart/deleteCart/${skuId}`)
// 批量删除购物车数据
export const reqAnyShopData = skuIdList => ajax.delete("/cart/batchDeleteCart", { data: skuIdList })
// 获取验证码
export const reqRegisterCode = phone => ajax.get(`/user/passport/sendCode/${phone}`)
// 注册账户
export const reqRegisterAccount = query => ajax.post(`/user/passport/register`, query)
// 登录账户
export const reqLoginAccount = query => ajax.post(`/user/passport/login`, query)
// 退出登录
export const reqLoginOut = () => ajax.get("/user/passport/logout")
// 获取邮寄地址
export const reqGetUserAddressList = () => ajax.get("/user/userAddress/auth/findUserAddressList")
// 获取订单交易页数据
export const reqTradeInfoData = () => ajax.get("/order/auth/trade")
//  提交订单
// post请求,且一个为params参数,其他为请求体参数,注意使用模板字符串拼接在路劲后
export const reqSubmitTradeOrder = (tradeNo, params) => ajax.post(`/order/auth/submitOrder?tradeNo=${tradeNo}`, params)
// 获得订单支付信息  也就是获取支付二维码
export const reqGetPayQRcode = orderId => ajax.get(`/payment/weixin/createNative/${orderId}`)
//  查询订单支付状态
export const reqGetPayOrderState = orderId => ajax.get(`/payment/weixin/queryPayStatus/${orderId}`)
